package cisdi.mes.sm.rm.domain;

import java.io.Serializable;
import javax.persistence.*;

import org.codehaus.jackson.map.annotate.JsonSerialize;

import cisdi.mes.utils.base.CustomDateSerializer;

import java.util.Date;


/**
 * The persistent class for the SM_RM_MATERIAL_REQUEST database table.
 * 
 */
@Entity
@org.hibernate.annotations.Entity(dynamicUpdate = true, dynamicInsert = true) 
@Table(name="SM_RM_MATERIAL_REQUEST")
public class SmRmMaterialRequest implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="SM_RM_MATERIAL_REQUEST_ID_GENERATOR", sequenceName="SEQ_SM",allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SM_RM_MATERIAL_REQUEST_ID_GENERATOR")
	private long id;
	
	@Column(name="LOGISTICS_STATUS")
	private String logisticsStatus;
	
	public String getLogisticsStatus() {
		return logisticsStatus;
	}

	public void setLogisticsStatus(String logisticsStatus) {
		this.logisticsStatus = logisticsStatus;
	}

	@Column(name="IS_RECEIVED")
	private String isReceived;

	@Column(name="MATERIAL_DESC")
	private String materialDesc;

	@Column(name="MATERIAL_ID")
	private String materialId;

	@Column(name="MEASURE_ID")
	private String measureId;

	@Column(name="NET_WEIGHT")
	private Double netWeight;

	@JsonSerialize(using = CustomDateSerializer.class)
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="RECEIVE_TIME")
	private Date receiveTime;

	@Column(name="REQ_ID")
	private String reqId;

	@JsonSerialize(using = CustomDateSerializer.class)
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REQ_SEND_TIME")
	private Date reqSendTime;

	@JsonSerialize(using = CustomDateSerializer.class)
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="TIME_STAMP")
	private Date timeStamp;

	@Column(name="UPLOAD_STATUS")
	private String uploadStatus;

	@JsonSerialize(using = CustomDateSerializer.class)
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="UPLOAD_TIME")
	private Date uploadTime;

    public SmRmMaterialRequest() {
    }

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getIsReceived() {
		return isReceived;
	}

	public void setIsReceived(String isReceived) {
		this.isReceived = isReceived;
	}

	public String getMaterialDesc() {
		return materialDesc;
	}

	public void setMaterialDesc(String materialDesc) {
		this.materialDesc = materialDesc;
	}

	public String getMaterialId() {
		return materialId;
	}

	public void setMaterialId(String materialId) {
		this.materialId = materialId;
	}

	public String getMeasureId() {
		return measureId;
	}

	public void setMeasureId(String measureId) {
		this.measureId = measureId;
	}

	public Double getNetWeight() {
		return netWeight;
	}

	public void setNetWeight(Double netWeight) {
		this.netWeight = netWeight;
	}

	public Date getReceiveTime() {
		return receiveTime;
	}

	public void setReceiveTime(Date receiveTime) {
		this.receiveTime = receiveTime;
	}

	public String getReqId() {
		return reqId;
	}

	public void setReqId(String reqId) {
		this.reqId = reqId;
	}

	public Date getReqSendTime() {
		return reqSendTime;
	}

	public void setReqSendTime(Date reqSendTime) {
		this.reqSendTime = reqSendTime;
	}

	public Date getTimeStamp() {
		return timeStamp;
	}

	public void setTimeStamp(Date timeStamp) {
		this.timeStamp = timeStamp;
	}

	public String getUploadStatus() {
		return uploadStatus;
	}

	public void setUploadStatus(String uploadStatus) {
		this.uploadStatus = uploadStatus;
	}

	public Date getUploadTime() {
		return uploadTime;
	}

	public void setUploadTime(Date uploadTime) {
		this.uploadTime = uploadTime;
	}

	
}